#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <unistd.h>
int main()
{
    system("clear");
//--------------创建密码-----------------------------------
    char name[50], name2[50];
    char i[10] = ""; 
    srand(time(NULL));
    int ii = random() / 100000;
    sprintf(i , "%d", ii); //随机生成一个6位以内密码存放起来 
    printf("查看时显示密码：%s\n",i);
    char num[10] = "234"; //创建用户时你要输入的密码（自己记住）
    char b[30]; //（锁）
    sprintf(b , "%d", atoi(i) ^ atoi(num)); //实际存放显示的密码 
//---------------登陆时输入密码---------------------------
    int n = 0;
    while(1)
    {      
        if(n > 2)
        {
            printf("输入密码错误以超过三次,请联系管理员!\n");
            return 1;
        }
        printf("请输入你的密码：");
        scanf("%s", name);
        while(1)
        {
            if(strlen(name) > 8)
            {
                printf("输入密码格式错误 (用户名最长为8个字符)\n");
                n++;
                printf("请重新输入密码：");
                scanf("%s", name);
            }
            else
            {
                break;
            }
        }
        strcpy(num, name); //登陆时输入的密码（钥匙）
    //-----------------密码校验----------------------------------
        sprintf(name2 , "%d", atoi(b) ^ atoi(num)); //经过处理后的密码
        if(strcmp(name2, i) != 0) //处理后的密码与随机生成的密码进行对比校验
        {
            printf("密码输入错误！\n");
            n++;
            continue;
        }
        printf("密码输入正确！\n");
        break;
    }
    return 0;
}